<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    <script>
        // 解构赋值--数组/对象--语法：const/let 数组/对象结构格式 = 数组/对象名，常用const（不再进行修改）
        // 数组赋值--左右数组结构相同即可
        let arr = [11,22,33]
        // 1.全部赋值--,分隔
        let [a,b,c] = arr
        console.log(a,b,c)
        // 2.部分赋值--不进行赋值的位置使用,进行隔开即可
        let [,d,f] = arr
        console.log(d,f)

        // 3.全部赋值，部分值全给一个变量--使用...变量名接收
        let [g,...rest] = arr
        console.log(g,rest)

        const arr2 = [1,2,[3,4],5,6]
        let [,,[a2,b2],,] = arr2
        console.log(a2,b2)

        // 对象赋值
        const student = {
            name: "zhangsan",
            age: 18,
            sex: 'male'
        }
        // 1.全部赋值--可以任意排序
        // let {name,age,sex} = student;
        // console.log(name,age,sex)
        // 2.部分赋值--赋值变量前面变量不赋值需要使用,留位置，在后面则不需要管
        // let {name,age} = student
        // console.log(name,age)
        // 3.全部赋值，单个变量被赋予多个值--使用...
        // let {name,...rest2} = student
        // console.log(name,rest2)
        // 4.变量名与属性名不同时，使用键值对进行接收,属性名：变量名
        let {name: unname} = student
        console.log(unname)


        const obj = {
                data: {
                    code: 10000,
                    message: '频道列表获取成功',
                    result: ['HTML', 'CSS', 'JavaScript', 'Vue', 'SprintBoot']
                },
                status: 200,
                statusText: 'Ok'
            }
        // 获取data值
        // 先获取data
        let {data} = obj
        console.log(data)
        // 再提取data
        let {code,message,result} = data
        console.log(code,message,result)
        let {status,statusText}  = obj

    </script>
</html>